export default{
  //开启命名空间
  namespaced: true, 
  
  //设置全局访问对象 数据
  state :() =>({
    address: JSON.parse(uni.getStorageSync('address') || '{}'),
    token: uni.getStorageSync('token') || '',
    //用户的信息对象
    userInfo: JSON.parse(uni.getStorageSync('userInfo') || '{}'),
    
    // 重新的Objext对象
    redirectInfo: null
  }),
  
  //方法
  mutations: {
    //更新收货地址
    updateAddress(state,address){
      state.address=address
      
      // 通过this.commit()方法 ， 调用 m_use模块下的 saveAddressToStorage的方法 把address进行持久化存储
      this.commit('m_user/saveAddressToStorage')
    },
    
    // 持久化存储 address
    saveAddressToStorage(state){
      uni.setStorageSync('address',JSON.stringify(state.address))
    },
    
    // 更新用户信息数据
    undateUserInfo(state,userInfo){
      state.userInfo=userInfo
      
      this.commit('m_user/saveUserInfosetStorageSync')
    },
    
    // 对于用户信息进行持久化存储
    saveUserInfosetStorageSync(state){
      uni.setStorageSync('userInfo',JSON.stringify(state.userInfo))
    },
    
    updataToken(state,token){
      state.token=token
      this.commit('m_user/saveTokenStorage')
    },
    //持久话存储token
    saveTokenStorage(state){
      uni.setStorageSync('token',state.token)
    },
    
    updateRedirectInfo(state,info){
      state.redirectInfo=info
      console.log(info);
    }
  },
  
  // 计算方法
  getters: {
    // 进行拼接收货地址
    addstr(state){
      if(!state.address.provinceName) return ''
      return state.address.provinceName+state.address.cityName +state.address.countyName+ state.address.detailInfo
    }
  }
}